package co.edu.uniquindio.ejbRemotos;
import java.util.List;

import javax.ejb.Remote;

import co.edu.uniquindio.logica.Automovil;
import co.edu.uniquindio.logica.Comprador;
import co.edu.uniquindio.logica.Marca;
import co.edu.uniquindio.logica.Vendedor;
/**
 * esta interfaz es la encargada de encapsular el comportamiento del ejb de busqueda y  nos permitira acceder a los metodos de este remotamente 
 * @author Andres Felipe Abril
 * @author Luis Enrique Robledo
 */
@Remote
public interface BusquedaEjbRemote {
	/**
	 * este metodo permite buscar un auotomovil por su numero de placa
     * @param la placa del automovil
	 * @return un atomovil asociado al numero de placa que le llega por parametro
	 * @throws Exception
	 */
	public Automovil buscarPorPlaca(String placa) throws Exception;
	/**
	 * este metodo permite obtener un vendedor segun su numero de cedula
	 * @param la cedula del vendedor
	 * @return el vendedor asociado a el numero de la cedula
	 */
	public Vendedor buscarVporCedula(String cedula)throws Exception;
	/**
	 * este metodo permite obtener un comprador segun su numero de cedula
	 * @param la cedula del comprador
	 * @return el comprador asociado a el numero de la cedula
	 */
	public Comprador buscarCporCedula(String cedula)throws Exception;
	/**
	 * este metodo me permite obtener un listado de vendedores asociados a un parametro de busqueda por medio del nombre
	 * @param el parametro de busqueda  nombre 
	 * @return una lista vendedores asociados a el parametro de busqueda
	 * @throws Exception
	 */
	public List<Vendedor>buscarVpornombre(String nombre)throws Exception;
	/**
	 * este metodo me permite obtener un listado de Compradores asociados a un parametro de busqueda por medio del nombre
	 * @param el parametroo de busqueda nombre 
	 * @return una lista de compradores asociados a el parametro de busqueda
	 * @throws Exception
	 */
	public List<Comprador> buscarCpornombre(String nombre)throws Exception;
	public List<Marca> obtenerMarcas();
}
